package com.zhilei.service;

import com.zhilei.pojo.Admin;
import com.zhilei.pojo.bo.CreateAdminBO;
import com.zhilei.pojo.bo.UpdateAdminBO;
import com.zhilei.pojo.bo.UpdateAdminPwdBO;
import com.zhilei.untils.PagedGridResult;

/**
 * <p>
 * 慕聘网运营管理系统的admin账户表，仅登录，不提供注册 服务类
 * </p>
 *
 * @author 志磊
 * @since 2024-09-08
 */
public interface AdminService {

    /**
     * 创建管理员账号
     *
     * @param createAdminBO
     * @return
     */
    void createAdmin(CreateAdminBO createAdminBO);

    /**
     * 根据用户名删除管理员
     *
     * @param username
     */
    void deleteAdmin(String username);

    /**
     * 更新Admin的密码
     *
     * @param updateAdminPwdBO
     */
    void updateAdminPwdBO(UpdateAdminPwdBO updateAdminPwdBO);

    /**
     * 根据id查询admin列表
     *
     * @param accountName
     * @return
     */
    PagedGridResult getAdminListPaged(String accountName, Integer page, Integer limit);

    /**
     * 重新查询最新的Admin信息
     *
     * @param id
     * @return
     */
    Admin getById(String id);

    /**
     * 更新用户信息到数据中
     *
     * @param updateAdminBO
     */
    void updateMyInfo(UpdateAdminBO updateAdminBO);
}
